Frame interpolation creates an image frame from neighboring images. The neighboring images may be fields in an interlaced video format, used to form a frame of data, or neighboring frames of a soon-to-be-created frame. Higher frame rates are generally desirable.
In the simplest approach, one could increase the frame rate by repeating the most recent frame until the next frame is ready for display. However, this does not account for moving objects which may appear to jump from frame to frame and have flickering artifacts instead of the appearance of smooth motion.
Motion estimation and motion compensation techniques may alleviate many of these issues. These techniques rely upon motion vectors to shift the image data for the moving object to the correct position in interpolated frames, thereby compensating for the motion of the object. Difficulties arise in the estimation of motion and the selection of the correct motion vector in the regions of the image where the moving object resides. These regions may have background areas that are initially uncovered in the background, but become covered by the object in motion. Similarly, these background regions may be initially covered by the object, and then become uncovered as the object moves away. In either case, selection of motion vectors becomes difficult. These regions will be referred to as ‘occluded.’
The difficulties arise because no matching block can be found in the occluded regions for an image at a first time to an image at a second time. This typically leads to selection of the incorrect motion vector. The coincidence of the selection of the correct motion vector complicates the frame interpolation process, since that process typically uses data from two frames, but only one of the frames has the correct information. It becomes difficult to identify which is the proper frame.